package aplicacio;

import com.db4o.Db4o;
import com.db4o.ObjectContainer;
import com.db4o.query.Predicate;
import domini.Ocupacio;
import domini.Tarifa;
import java.util.List;
import library.inout.Terminal;
import library.utilitats.JodaDT;
import org.joda.time.DateTime;


// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.7DC589CC-DD1F-2C39-0E48-3E89E730FB63]
// </editor-fold> 
public class CU04 {

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.E472A239-76CF-DE0A-70B3-2A3DAF166988]
    // </editor-fold> 
    private void gestionarCasUs () {
        Terminal.print("\n\nCU04: Import total de l'ocupació del parking.\n\n");
        ObjectContainer objectContainer = Db4o.openFile("parking.yap");
        Predicate<Ocupacio> predicatOcupacions = new Predicate<Ocupacio>() {

            public boolean match(Ocupacio ocupacio) {
                boolean cond = true;
                return cond;
            }
        };
        List<Ocupacio> ocupacions = objectContainer.query(predicatOcupacions);
        Predicate<Tarifa> predicatTarifes = new Predicate<Tarifa>() {

            public boolean match(Tarifa tarifa) {
                boolean cond = true;
                return cond;
            }
        };
        List<Tarifa> tarifes = objectContainer.query(predicatTarifes);
        double ito = 0;
        for (Ocupacio ocu : ocupacions) {
            for (Tarifa tar : tarifes) {
                DateTime dio = JodaDT.parseDDMMAAAAhhmm(ocu.getDtInici());    //  Data inici ocupacio
                DateTime dit = JodaDT.parseDDMMAAAAhhmm(tar.getDtInici()); // Data inici tarifa
                DateTime dft = JodaDT.parseDDMMAAAAhhmm(tar.getDtFi());    //  Data fi tarifa
                boolean cond = JodaDT.esEnInterval(dio, dit, dft);
                if (cond) {
                    ito += ocu.durada() * tar.getPreu();
                }
            }
        }
        Terminal.print("Import total de l'ocupació del parhing: %8.1f euros.\n\n", ito);
        objectContainer.close();
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.D8311A9C-4CF0-A849-C5A4-4011D145CDFB]
    // </editor-fold> 
    public static void main (String[] args) {
        CU04 cu = new CU04();
        cu.gestionarCasUs();
    }
}

